<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>服务器 | 华东理工大学方块乐享部</title><meta name="author" content="ECUSTMC"><meta name="copyright" content="ECUSTMC"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="🏰 服务器 ⚠️ 注意：进入需使用皮肤站认证，具体流程见萌新指南。   🎮 版本：1.20.2-1.21.10均可进入 ⏰ 开放时间：24h 🌐 服务器群组地址：mc.ecustvr.top 🧩 mod服地址：mcmod.ecustvr.top   📋 介绍：设有原版服和模组服以及不定期开放的活动服务器 🔄 切换服务器：&#x2F;server &lt;服务器名&gt;，例：&#x2F;serv">
<meta property="og:type" content="website">
<meta property="og:title" content="服务器">
<meta property="og:url" content="https://mc.ecustvr.top/server/index.html">
<meta property="og:site_name" content="华东理工大学方块乐享部">
<meta property="og:description" content="🏰 服务器 ⚠️ 注意：进入需使用皮肤站认证，具体流程见萌新指南。   🎮 版本：1.20.2-1.21.10均可进入 ⏰ 开放时间：24h 🌐 服务器群组地址：mc.ecustvr.top 🧩 mod服地址：mcmod.ecustvr.top   📋 介绍：设有原版服和模组服以及不定期开放的活动服务器 🔄 切换服务器：&#x2F;server &lt;服务器名&gt;，例：&#x2F;serv">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://pic2.zhimg.com/80/v2-9a793a9814442bab394bd2c974d7899e_1440w.jpeg">
<meta property="article:published_time" content="2024-04-04T17:19:33.000Z">
<meta property="article:modified_time" content="2025-10-17T05:44:14.094Z">
<meta property="article:author" content="ECUSTMC">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://pic2.zhimg.com/80/v2-9a793a9814442bab394bd2c974d7899e_1440w.jpeg"><script type="application/ld+json"></script><link rel="shortcut icon" href="https://www.ecust.edu.cn/_upload/tpl/00/2c/44/template44/images/logo.png"><link rel="canonical" href="https://mc.ecustvr.top/server/index.html"><link rel="preconnect" href="https://mirrors.sustech.edu.cn"/><link rel="stylesheet" href="/css/index.css?v=5.4.2"><link rel="stylesheet" href="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/font-awesome/6.7.2/css/all.min.css"><script>
    (() => {
      
    const saveToLocal = {
      set: (key, value, ttl) => {
        if (!ttl) return
        const expiry = Date.now() + ttl * 86400000
        localStorage.setItem(key, JSON.stringify({ value, expiry }))
      },
      get: key => {
        const itemStr = localStorage.getItem(key)
        if (!itemStr) return undefined
        const { value, expiry } = JSON.parse(itemStr)
        if (Date.now() > expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return value
      }
    }

    window.btf = {
      saveToLocal,
      getScript: (url, attr = {}) => new Promise((resolve, reject) => {
        const script = document.createElement('script')
        script.src = url
        script.async = true
        Object.entries(attr).forEach(([key, val]) => script.setAttribute(key, val))
        script.onload = script.onreadystatechange = () => {
          if (!script.readyState || /loaded|complete/.test(script.readyState)) resolve()
        }
        script.onerror = reject
        document.head.appendChild(script)
      }),
      getCSS: (url, id) => new Promise((resolve, reject) => {
        const link = document.createElement('link')
        link.rel = 'stylesheet'
        link.href = url
        if (id) link.id = id
        link.onload = link.onreadystatechange = () => {
          if (!link.readyState || /loaded|complete/.test(link.readyState)) resolve()
        }
        link.onerror = reject
        document.head.appendChild(link)
      }),
      addGlobalFn: (key, fn, name = false, parent = window) => {
        if (!false && key.startsWith('pjax')) return
        const globalFn = parent.globalFn || {}
        globalFn[key] = globalFn[key] || {}
        globalFn[key][name || Object.keys(globalFn[key]).length] = fn
        parent.globalFn = globalFn
      }
    }
  
      
      const activateDarkMode = () => {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      const activateLightMode = () => {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }

      btf.activateDarkMode = activateDarkMode
      btf.activateLightMode = activateLightMode

      const theme = saveToLocal.get('theme')
    
          theme === 'dark' ? activateDarkMode() : theme === 'light' ? activateLightMode() : null
        
      
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        document.documentElement.classList.toggle('hide-aside', asideStatus === 'hide')
      }
    
      
    const detectApple = () => {
      if (/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)) {
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
  
    })()
  </script><script>const GLOBAL_CONFIG = {
  root: '/',
  algolia: undefined,
  localSearch: undefined,
  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
  highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false,"highlightFullpage":false,"highlightMacStyle":false},
  copy: {
    success: '复制成功',
    error: '复制失败',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '',
  dateSuffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'null',
  Snackbar: undefined,
  infinitegrid: {
    js: 'https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/egjs-infinitegrid/4.12.0/infinitegrid.min.js',
    buttonText: '加载更多'
  },
  isPhotoFigcaption: false,
  islazyloadPlugin: false,
  isAnchor: false,
  percent: {
    toc: true,
    rightside: false,
  },
  autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: '服务器',
  isHighlightShrink: false,
  isToc: true,
  pageType: 'page'
}</script><meta name="generator" content="Hexo 7.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img text-center"><img src="https://pic2.zhimg.com/80/v2-9a793a9814442bab394bd2c974d7899e_1440w.jpeg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data text-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">24</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">25</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://mcskin.ecustvr.top/"><i class="fa-fw fas fa-solid fa-shirt"></i><span> 皮肤站</span></a></div><div class="menus_item"><a class="site-page" href="/tutorial/"><i class="fa-fw fas fa-pen"></i><span> 萌新指南</span></a></div><div class="menus_item"><a class="site-page" href="/server/"><i class="fa-fw fas fa-server"></i><span> 服务器</span></a></div><div class="menus_item"><a class="site-page" href="/tools/"><i class="fa-fw fas fa-tools"></i><span> 工具</span></a></div><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="http://mcmap.ecustvr.top/"><i class="fa-fw fa fa-map"></i><span> 地图</span></a></div><div class="menus_item"><span class="site-page group"><i class="fa-fw fas fa-book"></i><span> 列表</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></li><li><a class="site-page child" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></li><li><a class="site-page child" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></li><li><a class="site-page child" href="/Gallery/"><i class="fa-fw fas fa-images"></i><span> 相册</span></a></li><li><a class="site-page child" target="_blank" rel="noopener" href="http://status.ecustvr.top/"><i class="fa-fw fas fa-heartbeat"></i><span> 状态监控</span></a></li><li><a class="site-page child" target="_blank" rel="noopener" href="https://mooc1.chaoxing.com/course-ans/courseportal/243472288.html"><i class="fa-fw fas fa-graduation-cap"></i><span> 课程</span></a></li><li><a class="site-page child" href="/vote/"><i class="fa-fw fas fa-vote-yea"></i><span> 投票</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 链接</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="not-home-page" id="page-header" style="background-image: url(https://mcimg.bestzyq.cn/);"><nav id="nav"><span id="blog-info"><a class="nav-site-title" href="/"><img class="site-icon" src="https://www.ecust.edu.cn/_upload/tpl/00/2c/44/template44/images/logo.png" alt="Logo"><span class="site-name">华东理工大学方块乐享部</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://mcskin.ecustvr.top/"><i class="fa-fw fas fa-solid fa-shirt"></i><span> 皮肤站</span></a></div><div class="menus_item"><a class="site-page" href="/tutorial/"><i class="fa-fw fas fa-pen"></i><span> 萌新指南</span></a></div><div class="menus_item"><a class="site-page" href="/server/"><i class="fa-fw fas fa-server"></i><span> 服务器</span></a></div><div class="menus_item"><a class="site-page" href="/tools/"><i class="fa-fw fas fa-tools"></i><span> 工具</span></a></div><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="http://mcmap.ecustvr.top/"><i class="fa-fw fa fa-map"></i><span> 地图</span></a></div><div class="menus_item"><span class="site-page group"><i class="fa-fw fas fa-book"></i><span> 列表</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></li><li><a class="site-page child" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></li><li><a class="site-page child" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></li><li><a class="site-page child" href="/Gallery/"><i class="fa-fw fas fa-images"></i><span> 相册</span></a></li><li><a class="site-page child" target="_blank" rel="noopener" href="http://status.ecustvr.top/"><i class="fa-fw fas fa-heartbeat"></i><span> 状态监控</span></a></li><li><a class="site-page child" target="_blank" rel="noopener" href="https://mooc1.chaoxing.com/course-ans/courseportal/243472288.html"><i class="fa-fw fas fa-graduation-cap"></i><span> 课程</span></a></li><li><a class="site-page child" href="/vote/"><i class="fa-fw fas fa-vote-yea"></i><span> 投票</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 链接</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><span class="site-page"><i class="fas fa-bars fa-fw"></i></span></div></div></nav><div id="page-site-info"><h1 id="site-title">服务器</h1></div></header><main class="layout" id="content-inner"><div id="page"><div class="container" id="article-container"><h2 id="🏰-服务器"><a href="#🏰-服务器" class="headerlink" title="🏰 服务器"></a>🏰 服务器</h2><blockquote>
<p>⚠️ 注意：进入需使用<a target="_blank" rel="noopener" href="https://mcskin.ecustvr.top/">皮肤站</a>认证，具体流程见<a href="/tutorial/">萌新指南</a>。</p>
</blockquote>
<ul>
<li>🎮 版本：1.20.2-1.21.10均可进入</li>
<li>⏰ 开放时间：24h</li>
<li>🌐 服务器群组地址：<code>mc.ecustvr.top</code><ul>
<li>🧩 mod服地址：<code>mcmod.ecustvr.top</code></li>
</ul>
</li>
<li>📋 介绍：设有原版服和模组服以及不定期开放的活动服务器</li>
<li>🔄 切换服务器：&#x2F;server &lt;服务器名&gt;，例：<code>/server lobby</code></li>
<li>🏫 切换其他高校服务器：&#x2F;hub &lt;学校代码<a target="_blank" rel="noopener" href="https://docs.mualliance.cn/zh/dev/union/lobby">（点此查询）</a>&gt;，例如：<code>/server SJMC</code></li>
</ul>
<h2 id="🗺️-实时地图"><a href="#🗺️-实时地图" class="headerlink" title="🗺️ 实时地图"></a>🗺️ 实时地图</h2><ul>
<li>🏃‍♂️ Lobby地图：<a target="_blank" rel="noopener" href="http://mcmap.ecustvr.top/">点击进入</a></li>
</ul>
<!-- - 🔨 插件服（即将撤销）地图：[点击进入](http://out.ecust.cloud:25501/)
- 🏗️ 创造服（即将撤销）地图：[点击进入](http://out.ecust.cloud:25502/) -->

<h2 id="📊-在线状态"><a href="#📊-在线状态" class="headerlink" title="📊 在线状态"></a>📊 在线状态</h2><blockquote>
<p>📊 由 <a target="_blank" rel="noopener" href="https://mc.sjtu.cn/">上海交通大学Minecraft社</a> 提供状态监测服务（离线情况不一定准确，可以多刷新几次）</p>
</blockquote>
<div id="serverStatus" class="server-status">
</div>

<h2 id="💻-技术介绍"><a href="#💻-技术介绍" class="headerlink" title="💻 技术介绍"></a>💻 技术介绍</h2><p>详见<a target="_blank" rel="noopener" href="https://docs.mualliance.cn/">Minecraft高校联盟资料站</a>：<a target="_blank" rel="noopener" href="https://docs.mualliance.cn/zh/dev/union/lobby">联合大厅</a>、<a target="_blank" rel="noopener" href="https://docs.mualliance.cn/zh/dev/union/auth">联合认证</a></p>
<h3 id="🌐-接入点"><a href="#🌐-接入点" class="headerlink" title="🌐 接入点"></a>🌐 接入点</h3><blockquote>
<p>⚠️ 非实时更新，详见<a target="_blank" rel="noopener" href="https://docs.mualliance.cn/zh/dev/union/lobby">联合大厅</a></p>
</blockquote>
<ul>
<li>上交接入点：lobby.mualliance.cn &#x2F; mua.sjmc.club （支持IPv6）</li>
<li>浙江接入点：hb.mualliance.cn</li>
<li>湖北接入点：imu.mualliance.cn &#x2F; unions.imucraft.cn &#x2F; unions6.imucraft.cn （IPv6）</li>
<li>四川接入点：taru.mualliance.cn &#x2F; mcs.taru.xj.cn &#x2F; union.mc.taru.xj.cn</li>
<li>北京接入点：bj.mualliance.cn &#x2F; union-bgp.imucraft.cn</li>
<li>四川接入点2：union-sc.imucraft.cn</li>
</ul>
<p>可输入接入点地址进入MUA大厅后，输入<code>/hub ECUST</code>进入ECUST群组服务器。</p>
<!-- ### 🔄 备用地址
- 🏢 电信：`out.ecust.cloud`
- 📱 移动：`mch.ecustvr.top` -->

<h2 id="🙏-致谢"><a href="#🙏-致谢" class="headerlink" title="🙏 致谢"></a>🙏 致谢</h2><p>⛏️ 服务器现由 <a target="_blank" rel="noopener" href="https://github.com/Polaris-Leo">百鬼Polaris</a> 和 <a target="_blank" rel="noopener" href="https://wenye.ecustvr.top/">文野</a> 无偿提供！<br>✨ 特此亦向历任服主、维护者、建设和参与者表示衷心感谢！</p>
<script>
document.addEventListener('DOMContentLoaded', function() {
  // 服务器配置
  const servers = [
    { address: 'mcs.ecustvr.top' },
    { address: 'gtnh.ecustvr.top' }
  ];

  // 生成服务器状态卡片
  const serverStatusContainer = document.getElementById('serverStatus');
  servers.forEach(server => {
    const card = document.createElement('article');
    card.className = 'post post-list-thumb post-list-show';
    card.dataset.server = server.address;
    
    card.innerHTML = `
      <div class="post-content">
        <div class="img">
          <img class="server-favicon" src="" alt="${server.address}">
        </div>
        <div>
          <div class="title-container">
            <h2 class="entry-title">加载中...</h2>
            <button class="refresh-button" title="刷新服务器状态">
              <i class="fa fa-sync"></i>
            </button>
          </div>
          <h2 class="entry-address">${server.address}</h2>
          <div class="post-meta">
            <div class="mcs-status">
              <span class="players"><i class="fa fa-user"></i>加载中...</span>
              <span class="ping"><i class="fa fa-stopwatch"></i>加载中...</span>
              <span class="version"><i class="fa fa-tag"></i>加载中...</span>
              <span class="time"><i class="fa fa-clock"></i>加载中...</span>
            </div>
          </div>
          <div class="online-players">
            <ul></ul>
          </div>
        </div>
      </div>
    `;
    
    serverStatusContainer.appendChild(card);
  });

  // 更新服务器状态
  const updateServerStatus = async (targetCard = null) => {
    const cards = targetCard ? [targetCard] : document.querySelectorAll('[data-server]');
    
    // 为所有卡片添加加载状态
    cards.forEach(card => {
      const refreshButton = card.querySelector('.refresh-button');
      if (refreshButton) {
        refreshButton.classList.add('loading');
        refreshButton.disabled = true;
      }
    });

    // 并行处理所有请求
    const updatePromises = Array.from(cards).map(async (card) => {
      const address = card.dataset.server;
      try {
        const response = await fetch('https://mcapi.ecustvr.top/custom/serverlist/?query=' + address);
        if (!response.ok) {
          throw new Error(`HTTP error! status: ${response.status}`);
        }
        const data = await response.json();
        
        // 获取服务器描述
        let description = '无描述';
        if (data.description_raw) {
          if (typeof data.description_raw === 'string') {
            description = data.description_raw;
          } else {
            description = data.description_raw.text || data.description_raw.translate || data.description?.text || '无描述';
          }
        }
        if (description.includes('服务器已离线...')) {
          description = description.replace('...', '或查询失败');
        }

        // 更新时间戳
        const timestamp = new Date().toLocaleString('zh-CN', {
          year: 'numeric',
          month: '2-digit',
          day: '2-digit',
          hour: '2-digit',
          minute: '2-digit',
          second: '2-digit',
          hour12: false
        });

        if (data.online) {
          card.classList.remove('offline');
          // Update favicon
          if (data.favicon) {
            const favicon = card.querySelector('.server-favicon');
            favicon.src = data.favicon;
          }
          // Update title
          const title = card.querySelector('.entry-title');
          title.textContent = description;
          
          // Update player count
          const players = card.querySelector('.players');
          const playersOnline = data.players.online;
          const playersMax = data.players?.max || '未知';
          players.innerHTML = `<i class="fa fa-user"></i>${playersOnline}/${playersMax}`;
          
          // Update ping
          const ping = card.querySelector('.ping');
          ping.innerHTML = `<i class="fa fa-stopwatch"></i>${data.ping}ms`;

          // Update version
          const version = card.querySelector('.version');
          version.innerHTML = `<i class="fa fa-tag"></i>${data.version || '未知'}`;

          // Update timestamp
          const time = card.querySelector('.time');
          time.innerHTML = `<i class="fa fa-clock"></i>${timestamp}`;

          // Update online players
          const playersList = card.querySelector('.online-players ul');
          playersList.innerHTML = '';
          if (playersOnline > 0 && data.players?.sample) {
            data.players.sample.forEach(player => {
              const li = document.createElement('li');
              li.textContent = player.name;
              playersList.appendChild(li);
            });
          }
        } else {
          card.classList.add('offline');
          // Update title
          const title = card.querySelector('.entry-title');
          title.textContent = description;
          
          // Update status
          const players = card.querySelector('.players');
          players.innerHTML = '<i class="fa fa-user"></i>离线';
          const ping = card.querySelector('.ping');
          ping.innerHTML = '<i class="fa fa-stopwatch"></i>--';
          const version = card.querySelector('.version');
          version.innerHTML = '<i class="fa fa-tag"></i>--';
          const time = card.querySelector('.time');
          time.innerHTML = `<i class="fa fa-clock"></i>${timestamp}`;
          
          // Clear online players
          const playersList = card.querySelector('.online-players ul');
          playersList.innerHTML = '';
        }
      } catch (error) {
        console.error('Error fetching server status:', error);
        card.classList.add('offline');
        // Update error state
        const title = card.querySelector('.entry-title');
        title.textContent = '查询失败';
        const players = card.querySelector('.players');
        players.innerHTML = '<i class="fa fa-user"></i>未知';
        const ping = card.querySelector('.ping');
        ping.innerHTML = '<i class="fa fa-stopwatch"></i>--';
        const version = card.querySelector('.version');
        version.innerHTML = '<i class="fa fa-tag"></i>--';
        const time = card.querySelector('.time');
        time.innerHTML = `<i class="fa fa-clock"></i>${new Date().toLocaleString('zh-CN')}`;
        const playersList = card.querySelector('.online-players ul');
        playersList.innerHTML = '';
      }
    });

    // 等待所有请求完成
    await Promise.all(updatePromises).finally(() => {
      // 重置所有刷新按钮状态
      cards.forEach(card => {
        const refreshButton = card.querySelector('.refresh-button');
        if (refreshButton) {
          refreshButton.classList.remove('loading');
          refreshButton.disabled = false;
        }
      });
    });
  };

  // Add click event listeners to refresh buttons
  document.querySelectorAll('.refresh-button').forEach(button => {
    button.addEventListener('click', async (e) => {
      e.preventDefault();
      if (!button.disabled) {
        const card = button.closest('[data-server]');
        if (card) {
          await updateServerStatus(card);
        }
      }
    });
  });

  // Initial update
  updateServerStatus();
  
  // Update every 60 seconds
  setInterval(() => updateServerStatus(), 60000);
});
</script>
<style>
/* Server Status Cards Styles */
.server-status {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin: 20px 0;
}

.server-status .post-list-thumb {
  margin: 0;
  transition: all 0.3s ease;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.server-status .post-list-thumb:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

.server-status .post-content {
  display: flex;
  padding: 15px;
  gap: 15px;
}

.server-status .img {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
}

.server-status .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

.server-status .entry-title {
  margin: 0 0 0px;
  font-size: 1.2em;
  color: #333;
}

.server-status .entry-address {
  margin: 0 0 5px;
  font-size: 1.2em;
  color: #9e9e9e;  /* 更柔和的灰色 */
  font-weight: 300;  /* 更细的字体 */
  letter-spacing: 0.5px;  /* 轻微字距调整 */
}

.server-status .mcs-status {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 0.9em;
  color: #666;
}

.server-status .mcs-status span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.server-status .mcs-status i {
  font-size: 1em;
  width: 16px;
  text-align: center;
}

/* Online players list */
.server-status .online-players {
  margin-top: 10px;
  font-size: 0.85em;
  color: #666;
}

.server-status .online-players ul {
  list-style: none;
  padding: 0;
  margin: 5px 0 0 0;
}

.server-status .online-players li {
  display: inline-block;
  margin-right: 10px;
  background: #f5f5f5;
  padding: 2px 8px;
  border-radius: 12px;
}

/* Offline state */
.server-status .offline {
  opacity: 0.7;
  filter: grayscale(1);
}

.server-status .offline .entry-title {
  color: #999;
}

/* Loading state */
.server-status [data-server] {
  position: relative;
}

.server-status [data-server]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255,255,255,0.8);
  display: none;
}

.server-status [data-server].loading::before {
  display: block;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .server-status .post-list-thumb {
    background: #2d2d2d;
  }
  
  .server-status .entry-title {
    color: #e1e1e1;
  }
  
  .server-status .mcs-status {
    color: #999;
  }
  
  .server-status .offline .entry-title {
    color: #666;
  }

  .server-status .online-players li {
    background: #3d3d3d;
    color: #e1e1e1;
  }
}

/* Refresh Button Styles */
.server-status .title-container {
  display: flex;
  align-items: center;
  gap: 10px;
}

.server-status .refresh-button {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 5px;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.server-status .refresh-button:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #333;
  transform: scale(1.1);
}

.server-status .refresh-button:active {
  transform: scale(0.95);
}

.server-status .refresh-button.loading i {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Dark mode support for refresh button */
@media (prefers-color-scheme: dark) {
  .server-status .refresh-button {
    color: #999;
  }
  
  .server-status .refresh-button:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: #e1e1e1;
  }
}

/* Mobile responsive */
@media screen and (max-width: 768px) {
  .server-status {
    grid-template-columns: 1fr;
  }
  
  .server-status .post-content {
    padding: 10px;
  }
  
  .server-status .img {
    width: 48px;
    height: 48px;
  }
  
  .server-status .entry-title {
    font-size: 1.1em;
  }
  
  .server-status .mcs-status {
    font-size: 0.85em;
  }
}
</style></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info text-center"><div class="avatar-img"><img src="https://pic2.zhimg.com/80/v2-9a793a9814442bab394bd2c974d7899e_1440w.jpeg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info-name">ECUSTMC</div><div class="author-info-description"></div><div class="site-data"><a href="/archives/"><div class="headline">文章</div><div class="length-num">24</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">25</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://gitee.com/ecustmc/"><i class="fab fa-git-alt"></i><span>Follow Me</span></a><div class="card-info-social-icons"><a class="social-icon" href="https://gitee.com/ecustmc" target="_blank" title="Gitee"><i class="fab fa-git-alt" style="color: #e61800;"></i></a><a class="social-icon" href="mailto:bestzyq@foxmail.com" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a><a class="social-icon" href="https://qm.qq.com/q/jqFxBzF8gU" target="_blank" title="QQ"><i class="fab fa-qq" style="color: #0052d9;"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">欢迎来到华东理工方块乐享部！<br/><a href="https://qm.qq.com/q/jqFxBzF8gU" target="_blank">QQ群</a>：484506558</div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span><span class="toc-percentage"></span></div><div class="toc-content"><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%F0%9F%8F%B0-%E6%9C%8D%E5%8A%A1%E5%99%A8"><span class="toc-number">1.</span> <span class="toc-text">🏰 服务器</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%F0%9F%97%BA%EF%B8%8F-%E5%AE%9E%E6%97%B6%E5%9C%B0%E5%9B%BE"><span class="toc-number">2.</span> <span class="toc-text">🗺️ 实时地图</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%F0%9F%93%8A-%E5%9C%A8%E7%BA%BF%E7%8A%B6%E6%80%81"><span class="toc-number">3.</span> <span class="toc-text">📊 在线状态</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%F0%9F%92%BB-%E6%8A%80%E6%9C%AF%E4%BB%8B%E7%BB%8D"><span class="toc-number">4.</span> <span class="toc-text">💻 技术介绍</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%F0%9F%8C%90-%E6%8E%A5%E5%85%A5%E7%82%B9"><span class="toc-number">4.1.</span> <span class="toc-text">🌐 接入点</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%F0%9F%99%8F-%E8%87%B4%E8%B0%A2"><span class="toc-number">5.</span> <span class="toc-text">🙏 致谢</span></a></li></ol></div></div><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2025/05/21/%E9%BB%84%E9%93%9C%E5%8D%8F%E5%A5%8F%E6%9B%B2/" title="模组服——黄铜协奏曲"><img src="https://pic2.zhimg.com/80/v2-20bf52955b5eedab5b091d1e5052b578_1440w.webp" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="模组服——黄铜协奏曲"/></a><div class="content"><a class="title" href="/2025/05/21/%E9%BB%84%E9%93%9C%E5%8D%8F%E5%A5%8F%E6%9B%B2/" title="模组服——黄铜协奏曲">模组服——黄铜协奏曲</a><time datetime="2025-05-20T16:00:09.000Z" title="发表于 2025-05-21 00:00:09">2025-05-21</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/12/10/%E5%9C%A8%E7%BA%AFipv6%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2Union%E7%9A%AE%E8%82%A4%E7%AB%99/" title="在纯ipv6服务器部署MUA-Union皮肤站"><img src="https://pic2.zhimg.com/80/v2-03ef9fd5320aacca4aba6095d96ae47e_1440w.webp" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="在纯ipv6服务器部署MUA-Union皮肤站"/></a><div class="content"><a class="title" href="/2024/12/10/%E5%9C%A8%E7%BA%AFipv6%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2Union%E7%9A%AE%E8%82%A4%E7%AB%99/" title="在纯ipv6服务器部署MUA-Union皮肤站">在纯ipv6服务器部署MUA-Union皮肤站</a><time datetime="2024-12-10T04:51:24.000Z" title="发表于 2024-12-10 12:51:24">2024-12-10</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/11/18/%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8D%87%E7%BA%A71-21-1/" title="服务器升级1.21.1&amp;合并公告🚀"><img src="https://pic2.zhimg.com/80/v2-acb61183e22a905b4477918d9c727678_1440w.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="服务器升级1.21.1&amp;合并公告🚀"/></a><div class="content"><a class="title" href="/2024/11/18/%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8D%87%E7%BA%A71-21-1/" title="服务器升级1.21.1&amp;合并公告🚀">服务器升级1.21.1&amp;合并公告🚀</a><time datetime="2024-11-18T13:14:06.000Z" title="发表于 2024-11-18 21:14:06">2024-11-18</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/11/13/CAB/" title="模组服——机械动力：永无止境"><img src="https://pic2.zhimg.com/80/v2-eca7c7814bcaaa91fd41ecefbecfa670_1440w.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="模组服——机械动力：永无止境"/></a><div class="content"><a class="title" href="/2024/11/13/CAB/" title="模组服——机械动力：永无止境">模组服——机械动力：永无止境</a><time datetime="2024-11-13T15:07:39.000Z" title="发表于 2024-11-13 23:07:39">2024-11-13</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2024/09/14/%E4%B9%8C%E6%89%98%E9%82%A6%E6%8E%A2%E9%99%A9%E4%B9%8B%E6%97%85/" title="乌托邦探险之旅"><img src="https://pic2.zhimg.com/80/v2-dae5701add2bdfea3be61199d1cd7c78.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="乌托邦探险之旅"/></a><div class="content"><a class="title" href="/2024/09/14/%E4%B9%8C%E6%89%98%E9%82%A6%E6%8E%A2%E9%99%A9%E4%B9%8B%E6%97%85/" title="乌托邦探险之旅">乌托邦探险之旅</a><time datetime="2024-09-14T15:57:09.000Z" title="发表于 2024-09-14 23:57:09">2024-09-14</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
            <i class="fas fa-folder-open"></i>
            <span>分类</span>
            
          </div>
          <ul class="card-category-list" id="aside-cat-list">
            <li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E6%95%99%E7%A8%8B/"><span class="card-category-list-name">教程</span><span class="card-category-list-count">4</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E6%B4%BB%E5%8A%A8/"><span class="card-category-list-name">活动</span><span class="card-category-list-count">5</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%A0%94%E7%A9%B6/"><span class="card-category-list-name">研究</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E8%BF%90%E7%BB%B4/"><span class="card-category-list-name">运维</span><span class="card-category-list-count">14</span></a></li>
          </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/%E6%97%A5%E5%BF%97/" style="font-size: 1.3em; color: #99a1ac">日志</a> <a href="/tags/Minecraft-15%E5%91%A8%E5%B9%B4/" style="font-size: 1.2em; color: #999da3">Minecraft 15周年</a> <a href="/tags/mod/" style="font-size: 1.1em; color: #999">mod</a> <a href="/tags/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/" style="font-size: 1.1em; color: #999">常见问题</a> <a href="/tags/Union/" style="font-size: 1.1em; color: #999">Union</a> <a href="/tags/1-21-1/" style="font-size: 1.1em; color: #999">1.21.1</a> <a href="/tags/%E7%BD%91%E7%AB%99/" style="font-size: 1.5em; color: #99a9bf">网站</a> <a href="/tags/%E5%89%8D%E6%B2%BF%E8%BF%BD%E8%B8%AA/" style="font-size: 1.1em; color: #999">前沿追踪</a> <a href="/tags/%E6%95%B4%E5%90%88%E5%8C%85/" style="font-size: 1.3em; color: #99a1ac">整合包</a> <a href="/tags/%E5%8D%87%E7%BA%A7/" style="font-size: 1.1em; color: #999">升级</a> <a href="/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/" style="font-size: 1.5em; color: #99a9bf">服务器</a> <a href="/tags/ECUSTS/" style="font-size: 1.1em; color: #999">ECUSTS</a> <a href="/tags/ECUSTG/" style="font-size: 1.1em; color: #999">ECUSTG</a> <a href="/tags/%E7%A9%BA%E5%B2%9B%E7%94%9F%E5%AD%98/" style="font-size: 1.1em; color: #999">空岛生存</a> <a href="/tags/%E5%8E%9F%E7%89%88%E7%94%9F%E5%AD%98/" style="font-size: 1.1em; color: #999">原版生存</a> <a href="/tags/CDN/" style="font-size: 1.1em; color: #999">CDN</a> <a href="/tags/ipv6/" style="font-size: 1.1em; color: #999">ipv6</a> <a href="/tags/MUA/" style="font-size: 1.2em; color: #999da3">MUA</a> <a href="/tags/%E7%9A%AE%E8%82%A4%E7%AB%99/" style="font-size: 1.2em; color: #999da3">皮肤站</a> <a href="/tags/%E6%95%99%E7%A8%8B/" style="font-size: 1.2em; color: #999da3">教程</a> <a href="/tags/%E6%A8%A1%E7%BB%84%E6%9C%8D/" style="font-size: 1.3em; color: #99a1ac">模组服</a> <a href="/tags/%E6%B8%B8%E6%88%8F%E6%B5%8B%E8%AF%95%E6%9C%8D/" style="font-size: 1.1em; color: #999">游戏测试服</a> <a href="/tags/Minecraft/" style="font-size: 1.1em; color: #999">Minecraft</a> <a href="/tags/%E6%B4%BB%E5%8A%A8/" style="font-size: 1.4em; color: #99a5b6">活动</a> <a href="/tags/%E7%94%9F%E5%AD%98%E6%9C%8D/" style="font-size: 1.1em; color: #999">生存服</a></div></div><div class="card-widget card-archives">
    <div class="item-headline">
      <i class="fas fa-archive"></i>
      <span>归档</span>
      <a class="card-more-btn" href="/archives/"
            title="查看更多">
            <i class="fas fa-angle-right"></i>
          </a>
    </div>
  
    <ul class="card-archive-list">
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2025/05/">
            <span class="card-archive-list-date">
              五月 2025
            </span>
            <span class="card-archive-list-count">1</span>
          </a>
        </li>
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2024/12/">
            <span class="card-archive-list-date">
              十二月 2024
            </span>
            <span class="card-archive-list-count">1</span>
          </a>
        </li>
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2024/11/">
            <span class="card-archive-list-date">
              十一月 2024
            </span>
            <span class="card-archive-list-count">2</span>
          </a>
        </li>
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2024/09/">
            <span class="card-archive-list-date">
              九月 2024
            </span>
            <span class="card-archive-list-count">2</span>
          </a>
        </li>
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2024/07/">
            <span class="card-archive-list-date">
              七月 2024
            </span>
            <span class="card-archive-list-count">1</span>
          </a>
        </li>
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2024/06/">
            <span class="card-archive-list-date">
              六月 2024
            </span>
            <span class="card-archive-list-count">1</span>
          </a>
        </li>
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2024/05/">
            <span class="card-archive-list-date">
              五月 2024
            </span>
            <span class="card-archive-list-count">5</span>
          </a>
        </li>
      
        <li class="card-archive-list-item">
          <a class="card-archive-list-link" href="/archives/2024/04/">
            <span class="card-archive-list-date">
              四月 2024
            </span>
            <span class="card-archive-list-count">9</span>
          </a>
        </li>
      
    </ul>
  </div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站信息</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">24</div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2025-11-19T07:57:14.270Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div class="footer-other"><div class="footer-copyright"><span class="copyright">&copy;2024 - 2025 By ECUSTMC</span></div><div class="footer_custom_text">ECUST Computer Information Communication & VR Club<br/><span id="ipv4"></span><span id="ipv6"></span><script src="https://net.sjtu.edu.cn/script/jquery.min.js"></script><script src="https://net.sjtu.edu.cn/script/nav.js"></script><br/><span id="icpInfo"><!-- Domain-specific ICP information will be inserted here by JavaScript --></span><script>(function(){const e=window.location.hostname;let t="";"mc.ecustcic.com"===e?t='<a href="https://beian.miit.gov.cn/" target="_blank" id="miitLink">浙ICP备2025169668号-1</a>':"mc.ecustvr.top"===e&&(t='<a href="https://beian.miit.gov.cn/" target="_blank" id="miitLink">苏ICP备2023000758号-2</a> | <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31012102000135" id="policeLink"><img src="https://beian.mps.gov.cn/img/ghs.png">沪公网安备31012102000135号</a>'),document.getElementById("icpInfo").innerHTML=t})();</script></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="translateLink" type="button" title="简繁转换">繁</button><button id="darkmode" type="button" title="日间和夜间模式切换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="fas fa-list-ul"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/hexo-theme-butterfly/5.4.2/js/utils.min.js"></script><script src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/hexo-theme-butterfly/5.4.2/js/main.min.js"></script><script src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/hexo-theme-butterfly/5.4.2/js/tw_cn.min.js"></script><div class="js-pjax"></div></div></body></html>